package com.gpnu7_412.yanzhi.mapper;

import com.gpnu7_412.yanzhi.dto.CommentDisplayDto;
import com.gpnu7_412.yanzhi.entity.Comment;

import java.util.List;

/**
 * @author ZZH
 * @author HJJ
 */
public interface CommentMapper {
    /**
     * 添加评论
     * @param comment 评论信息
     * @return 影响条数
     */
    Integer insertComment(Comment comment);

    /**
     * 根据ID删除评论
     * @param commentId 评论ID
     * @return 影响条数
     */
    Integer deleteByCommentId(Integer commentId);

    /**
     * 根据用户ID删除用户评论
     * @param userId 用户ID
     * @return 影响条数
     */
    Integer deleteCommentByUserId(Integer userId);

    /**
     * 根据动态ID删除用户评论
     * @param dynamicId 动态ID
     * @return 影响条数
     */
    Integer deleteByDynamicId(Integer dynamicId);

    /**
     * 修改评论
     * @param comment 评论对象
     * @return 影响条数
     */
    Integer updateComment(Comment comment);

    /**
     * 根据动态ID获取评论展示列表
     * @param dynamicId 评论ID
     * @return 评论展示DTO
     */
    List<CommentDisplayDto> selectCommentDtoByDynamicId(Integer dynamicId);


    Integer likeComment(Integer commentId);
    Comment getCommentByCommentId(Integer commentId);

}
